package prh25.biblioteca.entity.dao.hibernate;

import java.util.List;

import org.hibernate.criterion.Restrictions;

import prh25.biblioteca.entity.Usuario;
import prh25.biblioteca.entity.dao.UsuarioDAO;

/**
 * <p>Hibernate DAO layer for Usuarios</p>
 * <p></p>
 *
 * @author Wilson
 * @see http://code.google.com/p/prh-doc/
 */
public class UsuarioHibernateDAO extends
		AbstractHibernateDAO<Usuario, Integer> implements
		UsuarioDAO {

	/**
	 * Find Usuario by version
	 */
	public List<Usuario> findByVersion(Integer version) {
		return findByCriteria(Restrictions.eq("version", version));
	}
	
	/**
	 * Find Usuario by entityUid
	 */
	public List<Usuario> findByEntityUid(String entityUid) {
		return findByCriteria(Restrictions.eq("uid", entityUid));
	}
	
	/**
	 * Find Usuario by tipo
	 */
	public List<Usuario> findByTipo(String tipo) {
		return findByCriteria(Restrictions.eq("tipo", tipo));
	}
	
	/**
	 * Find Usuario by login
	 */
	public List<Usuario> findByLogin(String login) {
		return findByCriteria(Restrictions.eq("login", login));
	}
	
	/**
	 * Find Usuario by senha
	 */
	public List<Usuario> findBySenha(String senha) {
		return findByCriteria(Restrictions.eq("senha", senha));
	}

	/**
	 * Find Usuario by ativo
	 */
	public List<Usuario> findByAtivo(boolean ativo) {
		
		return findByCriteria(Restrictions.eq("ativo", ativo));
	}
	

}
